home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntlib43 / mntlib / wcscat.c < prev    next >
C/C++ Source or Header  |  1993-11-02  |  910b  |  52 lines

  1. /* from Henry Spencer's stringlib */
  2. /* check for src==NULL added by ERS */
  3.  
  4. #include <stddef.h>
  5. #include <stdlib.h>
  6.  
  7. /*
  8.  * wcscat - append string src to dst
  9.  */
  10. wchar_t *                /* dst */
  11. wcscat(dst, src)
  12. wchar_t *dst;
  13. const wchar_t *src;
  14. {
  15.     register wchar_t *dscan;
  16.     register const wchar_t *sscan;
  17.  
  18.     if ((sscan = src) != NULL)
  19.     {
  20.         for (dscan = dst; *dscan; dscan++)
  21.         continue;
  22.         while ((*dscan++ = *sscan++) != 0)
  23.             continue;
  24.     }
  25.     return(dst);
  26. }
  27.  
  28. /*
  29.  * wcsncat - append at most n characters of string src to dst
  30.  */
  31. wchar_t *                /* dst */
  32. wcsncat(dst, src, n)
  33. wchar_t *dst;
  34. const wchar_t *src;
  35. size_t n;
  36. {
  37.     register wchar_t *dscan, c;
  38.     register const wchar_t *sscan;
  39.     register long count;
  40.  
  41.     if(((sscan = src) != NULL) && (n > 0))
  42.     {
  43.         for (dscan = dst; *dscan; dscan++)
  44.         continue;
  45.         count = n;
  46.         while (((c = *sscan++) != 0) && --count >= 0)
  47.         *dscan++ = c;
  48.         *dscan = 0;
  49.     }
  50.     return(dst);
  51. }
  52.